package com.ruoyi.inducePest.mapper.inducePest;

import com.ruoyi.inducePest.domain.inducePest.BeginTimeAndEndTimt;
import com.ruoyi.inducePest.domain.inducePest.DeviceIdAndTagTime;
import com.ruoyi.inducePest.domain.inducePest.InducePestImgInfo;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * @author LiSuxuan
 * @date 2021年 08月 31日 15:55
 */
@Repository
public interface InducePestDataAnalysisMapper {

    /**
     * 按天查找虫子列表
     *
     * @return 列表
     */
    public List<String> selectInsectByDay(BeginTimeAndEndTimt beginTimeAndEndTimt);

    /**
     * 按天和设备查找虫子列表
     *
     * @return 列表
     */
    public List<String> selectInsectByDayAndCamera(BeginTimeAndEndTimt beginTimeAndEndTimt);

    /**
     * 查询某一天之前的最后一条信息
     *
     * @return 列表
     */
    public InducePestImgInfo selectLastInfoByDay(BeginTimeAndEndTimt beginTimeAndEndTimt);

    /**
     * 查询某一天之前的最后一条tag
     *
     * @return 列表
     */
    public List<String> selectLastInsectByDay(BeginTimeAndEndTimt beginTimeAndEndTimt);

    /**
     * 按天查询tag的corner
     *
     * @return 列表
     */
    public List<String> selectCornerByDay(BeginTimeAndEndTimt beginTimeAndEndTimt);

    /**
     * 按天和设备查找虫子列表
     *
     * @return 列表
     */
    public List<String> selectCornerByDayAndCamera(BeginTimeAndEndTimt beginTimeAndEndTimt);

    /**
     * 查询某一天之前的最后一条Corner
     *
     * @return 列表
     */
    public List<String> selectLastCornerByDay(BeginTimeAndEndTimt beginTimeAndEndTimt);

    /**
     *  根据设备编号查询某一天之前的最后一条tag
     * @return 列表
     */
    public List<String> selectLastInsectByDayAndDeviceId(BeginTimeAndEndTimt beginTimeAndEndTimt);

    /**
     * 根据时间查询某一天之前的最后一条tagManual
     * @param beginTimeAndEndTimt
     * @return
     */
    List<DeviceIdAndTagTime> selectLastInsectByPeriod(BeginTimeAndEndTimt beginTimeAndEndTimt);
    /**
     * 根据设备编号查询某一天之前的最后一条Corner
     *
     * @return 列表
     */
    public List<String> selectLastCornerByDayAndDeviceId(BeginTimeAndEndTimt beginTimeAndEndTimt);

    /**
     * 按天查找设备
     *

     * @return 列表
     */
    public List<Integer> selectDeviceIdByDay(BeginTimeAndEndTimt beginTimeAndEndTimt);



    /**
     * 按天查询图片总数

     * @return 总数
     */
    public Integer selectInsectImgNum(BeginTimeAndEndTimt beginTimeAndEndTimt);

    /**
     * 按天查询所有信息
     *
     * @return 列表
     */
    public List<InducePestImgInfo> selectAllInfoByDay(BeginTimeAndEndTimt beginTimeAndEndTimt);

    /**
     * 按天和设备查询所有信息
     *
     * @return 列表
     */
    public List<InducePestImgInfo> selectAllInfoByDayAndDevice(BeginTimeAndEndTimt beginTimeAndEndTimt);

}
